package com.ruoyi.site.service;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.site.domain.FilterOptions;
import com.ruoyi.site.domain.Tracks;

/**
 * 音乐曲目Service接口
 * 
 * @author chuckeytang
 * @date 2025-08-17
 */
public interface ITracksService 
{
    /**
     * 查询音乐曲目
     * 
     * @param trackId 音乐曲目主键
     * @return 音乐曲目
     */
    public Tracks selectTracksByTrackId(Long trackId);

    /**
     * 查询音乐曲目列表
     * 
     * @param tracks 音乐曲目
     * @return 音乐曲目集合
     */
    public List<Tracks> selectTracksList(Tracks tracks);

    /**
     * 新增音乐曲目
     * 
     * @param tracks 音乐曲目
     * @return 结果
     */
    public int insertTracks(Tracks tracks);

    /**
     * 修改音乐曲目
     * 
     * @param tracks 音乐曲目
     * @return 结果
     */
    public int updateTracks(Tracks tracks);

    /**
     * 批量删除音乐曲目
     * 
     * @param trackIds 需要删除的音乐曲目主键集合
     * @return 结果
     */
    public int deleteTracksByTrackIds(Long[] trackIds);

    /**
     * 删除音乐曲目信息
     * 
     * @param trackId 音乐曲目主键
     * @return 结果
     */
    public int deleteTracksByTrackId(Long trackId);

    /**
     * 获取所有可用的筛选器选项
     * @return 包含所有筛选选项的Map
     */
    public FilterOptions getFilterOptions();

    // 根据 ID 获取标准价格
    BigDecimal getStandardPriceByTrackId(Long trackId);
}
